package xyz.haijin.zt.mysql.mapper;

import java.sql.SQLException;
import java.util.List;

/**
 * 基础查询接口
 * @author liuhaijin
 * @date 2022/4/2
 */
public interface BaseMapper<T> {

    /**
     * 查询所有数据接口
     * @return
     */
    List<T> list();


    /**
     * 通过id查看获取单条的数据
     * @param id
     * @return
     * @throws Exception
     */
    T getOneById(Object id) throws Exception;


    /**
     * 通过in操作多个id获取多条数据
     * @param values
     * @return
     * @throws SQLException
     */
    List<T> inByIds(Object ...values) throws SQLException;


    /**
     * 批量插入数据
     * @param instances
     * @return
     * @throws Exception
     */
    boolean batchInsert(List<T> instances) throws Exception;

}
